package com.tdam2011.grupo05.ui.activities;

import android.app.Activity;
import android.content.Intent;
import android.database.Cursor;
import android.graphics.Typeface;
import android.os.Bundle;
import android.util.Log;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;

import com.tdam2011.grupo05.R;
import com.tdam2011.grupo05.R.id;
import com.tdam2011.grupo05.R.layout;
import com.tdam2011.grupo05.R.menu;
import com.tdam2011.grupo05.entidades.DatabaseHelper;

public class InicioActivity extends Activity {
	/** Called when the activity is first created. */

	public static final String LOG_TAG = "Inicializando LOG";
	public static final int REQUEST_CODE_INSERT = 123;
	public static final int REQUEST_CODE_UPDATE = 321;
	public static String USUARIO = "";
	public static String PASSWORD = "";

	private DatabaseHelper helper;
	private TextView titulo;
	private Button email_btn;
	private Button llamar_btn;
	private Button mensaje_btn;
	private ImageView contact_btn;
	private Button mensaje_web;



	@Override
	public void onCreate(Bundle savedInstanceState) {

		Log.d(LOG_TAG, "Main.onCreate");

		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);
		Typeface tf = Typeface.createFromAsset(getAssets(),
				"fonts/BIMINR__.TTF");

		titulo = (TextView) findViewById(R.id.texto_titulo);
		titulo.setTypeface(tf);
		titulo.setTextSize(22);

		email_btn = (Button) findViewById(R.id.opcion_btn_email);
		email_btn.setTypeface(tf);
		email_btn.setTextSize(20);

		llamar_btn = (Button) findViewById(R.id.opcion_btn_llamar);
		llamar_btn.setTypeface(tf);
		llamar_btn.setTextSize(20);

		mensaje_btn = (Button) findViewById(R.id.opcion_btn_mensaje);
		mensaje_btn.setTypeface(tf);
		mensaje_btn.setTextSize(20);

		contact_btn = (ImageView) findViewById(R.id.contact_titulo);

		/*
		 * Button contactos_btn = (Button)
		 * findViewById(R.id.opcion_btn_contactos);
		 * contactos_btn.setTypeface(tf); contactos_btn.setTextSize(20);
		 */

		mensaje_web = (Button) findViewById(R.id.opcion_btn_sms_web);
		mensaje_web.setTypeface(tf);
		mensaje_web.setTextSize(20);


		email_btn.setOnClickListener(new OnClickListener() {

			@Override
			public void onClick(View v) {
				openEmailActivity();

			}
		});

		llamar_btn.setOnClickListener(new OnClickListener() {

			@Override
			public void onClick(View v) {
				openLlamadaActivity();

			}
		});

		mensaje_btn.setOnClickListener(new OnClickListener() {

			@Override
			public void onClick(View v) {
				openMensajeActivity();

			}
		});

		contact_btn.setOnClickListener(new OnClickListener() {

			@Override
			public void onClick(View v) {
				openContactosActivity();

			}
		});
		/*
		 * contactos_btn.setOnClickListener(new OnClickListener() {
		 * 
		 * @Override public void onClick(View v) { openContactosActivity();
		 * 
		 * } });
		 */
		mensaje_web.setOnClickListener(new OnClickListener() {

			@Override
			public void onClick(View v) {
				openMensajeWebActivity();
			}
		});

	}





	@Override
	protected void onStart() {
		super.onStart();
		helper = new DatabaseHelper(this);
		verificarCuenta();

	}

	public void verificarCuenta() {
		System.out.println("verificarCuenta");
		Cursor cursor = helper.getDatosCuenta();
		startManagingCursor(cursor);
		if (cursor.getCount() == 0) {
			Intent intent = new Intent(this, ConfiguracionInicialActivity.class);
			startActivityForResult(intent, REQUEST_CODE_INSERT);
		} else {
			String nombre = "";
			String pass = "";
			int colNombre = cursor.getColumnIndex(DatabaseHelper.colUsuario);
			int colPass = cursor.getColumnIndex(DatabaseHelper.colPassword);

			while (cursor.moveToNext()) {
				nombre = cursor.getString(colNombre);
				pass = cursor.getString(colPass);

			}

			USUARIO = nombre;
			PASSWORD = pass;
			Toast.makeText(this, "Usuario Loguado: " + USUARIO,
					Toast.LENGTH_SHORT).show();
			// new Thread(){
			// @Override
			// public void run() {
			// Log.i("Inicio", "thread");
			// try{
			// ProcesarMensaje servidor = new ProcesarMensaje();
			// servidor.registrarUsuario(n, p);
			// String r = servidor.respuesta();
			// Log.i("Inicio", r);
			// }catch (Exception e) {
			// e.printStackTrace();
			//
			// }
			// }
			// }.start();

		}
		cursor.close();
	}

	@Override
	protected void onActivityResult(int requestCode, int resultCode, Intent data) {
		// TODO Auto-generated method stub
		super.onActivityResult(requestCode, resultCode, data);

		if (requestCode == REQUEST_CODE_INSERT && resultCode == RESULT_OK) {

			Toast.makeText(this, "Usuario: " + data.getExtras().get("usuario"),
					Toast.LENGTH_SHORT).show();
			USUARIO = data.getExtras().getString("usuario");
			String usuario = data.getExtras().getString("usuario");
			String password = data.getExtras().getString("password");
			helper.insertCuenta(usuario, password);

		}
		if (requestCode == REQUEST_CODE_UPDATE && resultCode == RESULT_OK) {

		}
	}

	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		MenuInflater inflater = getMenuInflater();
		inflater.inflate(R.menu.dashboard_menu, menu);
		return super.onCreateOptionsMenu(menu);
	}

	@Override
	public boolean onOptionsItemSelected(MenuItem item) {

		switch (item.getItemId()) {
		case R.id.menu_exit:
			finish();
			break;
		case R.id.menu_configurar:
			openConfig();
			break;
		default:
			break;
		}

		return super.onOptionsItemSelected(item);
	}

	public void openConfig() {
		Intent intent = new Intent(this, ConfiguracionInicialActivity.class);
		startActivity(intent);
	}

	public void openEmailActivity() {
		final Intent i = new Intent(android.content.Intent.ACTION_SEND);
		i.setType("text/plain");
		i.putExtra(Intent.EXTRA_EMAIL, new String[] { "droide" });

		try {
			startActivity(Intent.createChooser(i, "Enviar Mail..."));
		} catch (android.content.ActivityNotFoundException ex) {
			Toast.makeText(this, "No hay clientes de mail instalados.",
					Toast.LENGTH_SHORT).show();
		}

	}

	public void openLlamadaActivity() {
		Intent intent = new Intent(Intent.ACTION_DIAL);
		startActivity(intent);
	}

	public void openMensajeActivity() {
		Intent smsIntent = new Intent(Intent.ACTION_VIEW);
		smsIntent.setType("vnd.android-dir/mms-sms");
		startActivity(smsIntent);
	}

	public void openContactosActivity() {
		Intent intent = new Intent(this, ContactosActivity.class);
		startActivity(intent);
	}

	public void openMensajeWebActivity() {
		Intent intent = new Intent(this, MensajeWebActivity.class);
		startActivity(intent);
	}
}